
e= 65537
c= 698357636567367558759711776580320719340933493084285009370699059680075963885649900991785743925476703612566177770615688140828294009342321248532528135717020321638633194236304071227376280469583784324554702187585633554583585613919643029910676079881346779693579198709927276845742333575135345002140882285105432861360786403309179432637837990636999378777874170745714808407518959616602571033295952904233401306613241319072606171376709797219789705532196258388768707986490052624356816398378517468828951464911099476954775258801172030116252779985789332801046195134582313214031366595004401717278610760829369314324849813940651309932
dp= 39896852438403708406984708916869979312352695661766157959550782921308613421683803903733849015989522374917508903612147241162520188920032456104881051889798874994032331870256031918606780154667124231064537682553043210245224684753512501513527050047942923719661361311254494006713834823643497048108777333495847434963
#106138421686854631129229018400036851398159472928157852413033475149738282842171360115242754737605249761922824478020267657563145346915046359884131905731753556747874850163627747669970876841746268347119001668418055322502183485475581441513782109965172940605457545616224305813598725099944139072129285167660537988439

import gmpy2

for k in range(65537,1,-1):
    tmp=dp*e-1
    if tmp%k==0:
        p = (dp*e-1)//k + 1
        if gmpy2.is_prime(p) and gmpy2.bit_length(p)==1024:
            print(p)
            break
import libnum

m=pow(c,dp,p)
print(libnum.n2s(m))